<!--
 * @Descripttion: 
 * @Version: 
 * @Author: gaohj
 * @Date: 2022-12-29 15:16:25
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-12-29 15:48:53
-->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        // 面试题  


        // var a = b = 10;
        // a = 20;
        // b = 20;
        // console.log(a);
        // console.log(b);


        // 1. 预解析  只预解析这一行 
            // 只声明一个 全局变量 a 

        // 执行阶段 
            // 1-1   
                //   b = 10
                //  直到window都没有b这个变量 
                // 把b定义为一个全局变量  然后把10放到这个变量中 


            // 1-2 
                // a = b 
                // 把10 给到 a 


        var a = b;
        a = 20;
        b = 20;
        console.log(a);
        console.log(b);

        // 只预解析第一行 
        // 仅仅是 定一个全局变量a  但是不赋值  


        // 代码执行 
        // 1. a = b 
        // 访问b 的时候 根本没有 根据变量的访问机制 直接报错 
    </script>
</body>

</html>